枚举支持函数
最近更新时间: 2024-10-17 17:10:00
枚举类型支持如下函数:
函数 | 描述 |
---|---|
enum_first(anyenum) | 返回输入枚举类型的第一个值 |
enum_last(anyenum) | 返回输入枚举类型的最后一个值 |
enum_range(anyenum) | 将输入枚举类型的所有值作为一个有序的数组返回 |
enum_range(anyenum, anyenum) | 以一个数组返回在给定两个枚举值之间的范围,值必须来自相同的枚举类型。如果第一个参数为空,其结果将从枚举类型的第一个值开始;如果第二参数为空,其结果将以枚举类型的最后一个值结束 |
示例:
postgres=# CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');
CREATE TYPE
postgres=# SELECT enum_first(null::rainbow);
enum_first
------------
red
(1 row)
postgres=# SELECT enum_last(null::rainbow);
enum_last
-----------
purple
(1 row)
postgres=# SELECT enum_range(null::rainbow);
enum_range
---------------------------------------
{red,orange,yellow,green,blue,purple}
(1 row)
postgres=# SELECT enum_range('orange'::rainbow, 'green'::rainbow);
enum_range
-----------------------
{orange,yellow,green}
(1 row)
postgres=# SELECT enum_range(NULL, 'green'::rainbow);
enum_range
---------------------------
{red,orange,yellow,green}
(1 row)
postgres=# SELECT enum_range('orange'::rainbow, NULL);
enum_range
-----------------------------------
{orange,yellow,green,blue,purple}
(1 row)